﻿using Common.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Wallpaper.Models.DTOs.Requests.Carousel;
using Wallpaper.Models.DTOs.Responses.Carousel;
using Wallpaper.Models.Entities;

namespace Wallpaper.Services.IService
{
    public interface ICarouselService
    {
        /// <summary>
        /// 创建封面
        /// </summary>
        /// <param name="carouselRequest"></param>
        /// <returns></returns>
        Task<bool> CreateAsync(CarouselRequest carouselRequest);

        /// <summary>
        /// 根据id删除封面
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<bool> DeleteAsync(string id);


        /// <summary>
        /// 小程序端获取轮播图
        /// </summary>
        /// <returns></returns>
        Task<List<BannerResponse>> GetBannersAsync();

        /// <summary>
        /// 分页查询封面
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<PagedResult<CarouselPageResponse>> PageAsync(CarouselQueryRequest request);

        /// <summary>
        /// 根据id更新封面
        /// </summary>
        /// <param name="carouselRequest"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(string carouselId, CarouselRequest carouselRequest);
    }
}
